package PHANVANVUONG.OOP.HOMEWORK.EX02;

import java.util.Scanner;

public class Views {
	@SuppressWarnings("resource")
	public static void main(String[] args) {
		double a, b;
		String temp;
		int n;
		do {
			System.out.print("Nhập vào số a: ");
			temp = new Scanner(System.in).nextLine();
			if (temp.isEmpty())
				System.out.println("Bạn chưa nhập số a!");
		} while (temp.isEmpty());

		a = Double.parseDouble(temp);
		temp = null;
		do {
			System.out.print("Nhập vào số b: ");
			temp = new Scanner(System.in).nextLine();
			if (temp.isEmpty())
				System.out.println("Bạn chưa nhập số b!");
		} while (temp.isEmpty());

		b = Double.parseDouble(temp);
		temp = null;
		Calculator objC = new Calculator();
		objC.setA(a);
		objC.setB(b);

		CalculatorControllers objController = new CalculatorControllers(objC);

		System.out.println("1. Cộng\n2. Trừ\n3. Nhân\n4. Chia");
		do {
			System.out.print("Bạn chọn: ");
			temp = new Scanner(System.in).nextLine();
			if (temp.isEmpty())
				System.out.println("Bạn chưa nhập vào phép toán!");
		} while (temp.isEmpty());
		n = Integer.parseInt(temp);
		switch (n) {
		case 1:
			System.out.println("Tổng của 2 số a và b là: " + objController.CalculatorInfo(n));
			break;
		case 2:
			System.out.println("Hiệu 2 số a và b là: " + objController.CalculatorInfo(n));
			break;
		case 3:
			System.out.println("Tích 2 số a và b là: " + objController.CalculatorInfo(n));
			break;
		case 4:
			if (b == 0) {
				if (a == 0)
					System.out.println("Result offunction is underfined");
				else
					System.out.println("Cannot divide by zero");
				break;
			} else {
				System.out.println("Thương của 2 số a và b là: " + objController.CalculatorInfo(n));
				break;
			}
		default:
			break;
		}
	}
}
